iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
影片教學

睡醒來聽 PHP 與 MySQL系列 第 10

[睡醒來聽 PHP 與 MySQL] DAY10 php語法進階(5)物件導向(類別、物件、方法、屬性)

  • 分享至 

  • xImage
  •  

Yes

Welcome 歡迎來到「睡醒來聽 PHP 與 MySQL」系列!

DAY10 今天要學甚麼?今天進入到進階語法-物件導向(類別、物件、方法、屬性)

🔶章節:
🔹[開頭] 0:23
🔹[物件導向是甚麼?] 0:22
🔹[物件導向-基本概念] 1:09
🔹[物件導向-實際舉例] 2:19
🔹[物件導向-優點] 3:57
🔹[應用情境] 4:59
🔹[建構類別結構] 5:57
🔹[創建一個「Smartphone」類別] 6:58
🔹[存取和更新物件] 8:59
🔹[物件方法及呼叫] 11:28
🔹[偽變數this] 11:50
🔹[總結] 12:26

如果影片中不清楚,需要補充的地方我會再添加到這邊~
👆教學中的[練習]程式碼一併附上,影片中會有每組的講解、說明更清楚👆 /images/emoticon/emoticon12.gif


建構類別

class ClassName {
    // 定義屬性(特徵)
    public $attribute1;
    protected $attribute2;
    private $attribute3;

    // 定義方法(行為)
    public function method1() {
        // 方法的實作
    }

    protected function method2() {
        // 方法的實作
    }

    private function method3() {
        // 方法的實作
    }
}

創建一個「Smartphone」類別

class Smartphone {
    // 定義公開屬性 $color,其類型為字串(String)
    public String $color;

    // 定義私有屬性 $cameraCount,其類型為整數(int)
    private int $cameraCount;

    // 定義公開方法 takePhoto(),該方法實作了拍照功能
    public function takePhoto() {
        // 實作拍照功能的程式碼
    }

    // 定義公開方法 makeCall(),該方法實作了撥打電話功能
    public function makeCall() {
        // 實作撥打電話功能的程式碼
    }
}

存取和更新屬性

class Smartphone {
    public string $color;
    private int $cameraCount;

    public function __construct($initialColor, $initialCameraCount) {
        $this->color = $initialColor;
        $this->cameraCount = $initialCameraCount;
    }

    public function takePhoto() {
        // 實作拍照功能
    }
}

// 創建 Smartphone 物件的實例,並傳入初始屬性值
$myPhone = new Smartphone("藍色", 3);

// 存取和更新屬性
echo $myPhone->color;          // 存取 color 屬性,輸出:藍色
// echo $myPhone->cameraCount; // 私有屬性無法直接存取,會產生錯誤

$myPhone->color = "紅色";      // 更新 color 屬性為紅色
// $myPhone->cameraCount = 4;   // 私有屬性無法直接更新,會產生錯誤

物件方法及呼叫、偽變數this

class Dog {
    public string $name;

    public function bark() {
        echo $this->name . "正在汪汪叫!";
    }
}

// 創建一個 Dog 物件
$myDog = new Dog();
$myDog->name = "兄弟";

// 呼叫物件的方法
$myDog->bark(); // 輸出:兄弟正在汪汪叫!

$this偽變數 介紹

它主要用於類(class)中,用來引用當前類的實例(instance)。當您在類的方法內部想要訪問該類的成員變數(屬性)或方法時,通常需要使用 $this。

結構

在類別的方法內部想要存取該類別的屬性或方法時,需要使用 $this 偽變數。通過 $this 可以在類別的方法內部存取該類別的成員,如屬性和方法。

class Person {
    // 成員變數(屬性)
    public $name;
    public $age;

    // 建構函數
    public function __construct($name, $age) {
        $this->name = $name; // 使用 $this 設置屬性值
        $this->age = $age;
    }

    // 方法,顯示個人資訊
    public function showInfo() {
        echo "姓名:{$this->name}, 年齡:{$this->age}<br>";
    }
}

// 創建一個 Person 實例
$person1 = new Person("Brian", 22);

// 調用方法來顯示個人資訊
$person1->showInfo(); // 輸出:姓名:Brian, 年齡:22

在上面的示例中,我們創建了一個 Person 類,使用 $this 偽變數來設置和訪問該類的成員變數,並在 showInfo 方法中使用 $this 來顯示個人資訊。


上一篇
[睡醒來聽 PHP 與 MySQL] DAY9 php語法進階(4)全域變數、引數
下一篇
[睡醒來聽 PHP 與 MySQL] DAY11 認識 動態網頁與HTTP
系列文
睡醒來聽 PHP 與 MySQL30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言